/*
  学习目标：Link和NavLink的使用
    1. Link和NavLink的区别
    
    3. 💥两种匹配规则:
      3.1  模糊匹配:  url路径 包含 to属性的值
      3.2  精准匹配:  url路径 和 to属性的值, 完全相等
*/

import React from 'react';
import { BrowserRouter as Router, NavLink, Route } from 'react-router-dom';
import './base.css';
export default class App extends React.Component {
  render() {
    return (
      <Router>
        <div>
          <h1>app组件</h1>
          {/* 1. NavLink会自带高亮类名active, 而Link没有高亮类名 */}
          <NavLink activeClassName="xxx" to="/home">
            首页
          </NavLink>
          <br />
          <NavLink
            // 2. NavLink通过activeClassName自定义高亮类名
            activeClassName="xxx"
            to="/my"
          >
            我的音乐
          </NavLink>
          <br />
          <NavLink
            activeClassName="xxx"
            to="/friend"
            // 3. 默认是模糊匹配
            // 使用exact开启精准匹配
            exact
          >
            朋友
          </NavLink>
          <div className="box">
            <Route path="/home" component={Home} />
          </div>

          <Route path="/my" component={MyMusic} />
          <Route path="/friend" component={Friend} />
        </div>
      </Router>
    );
  }
}

function Home() {
  return <h1>我是首页组件</h1>;
}

function MyMusic() {
  return <h1>我是我的音乐件</h1>;
}

function Friend() {
  return <h1>我是朋友组件</h1>;
}
